import { tools } from './ajax.js';

// 知识点1，动态获取json对象的所有信息
let page = {
  pn: 1,
  ps: 10,
  total: 100,
};

let info = {
  id: 100,
  name: '黑暗骑士',
};

// 显示任何json对象的方法
function showJson(obj) {
  // 读取json对象key特有的循环方式
  for (let key in obj) {
    // json对象可以通过[key名称]来获取key对应值
    console.log('json对象的信息：', key, obj[key]);
  }
}

console.log('显示json对象1');
showJson(page);

console.log('显示json对象2');
showJson(info);

// 不定数量的参数的function
function showArgs() {
  // 获取方法传入的参数信息（数组）
  let args = arguments;
  for (let i = 0; i < args.length; i++) {
    console.log('参数信息：', args[i]);
  }
  if (args.length === 0) {
    console.log('没有参数');
  }
}

function showParams(...args) {
  for (let i = 0; i < args.length; i++) {
    console.log('参数信息：', args[i]);
  }
  if (args.length === 0) {
    console.log('没有参数');
  }
}

console.log('显示不定数量的参数');
showArgs('1', '2', '3');
showArgs('1', '2', '3', '4', '5', '6');
showArgs();

showParams('张三', '李四');
showParams();

// 如何复制一份json
let p2 = page;
console.log('json相等测试', p2 == page, p2);

let p3 = JSON.parse(JSON.stringify(page));
console.log('json相等测试', p3 == page, p3);

// 合并json的演示
let result = tools.mergeJson(page, info);
console.log('合并json', result);
console.log('合并json', tools.mergeJson(page));
